Services provided by a computing system may include any type of functionality provided by the system and may be implemented at least in part by software applications of the system. For example, a particular service may include a business functionality and may be implemented by an application which includes business logic to perform the business functionality. Generally speaking, legacy applications exist which have become outdated in some aspect, but which may still implement services which remain useful. For example, the user interface of a legacy application may have become outdated, but the service it implements may still be useful. One approach to using the services of legacy applications includes developing a new application which reuses the services of the legacy application but which updates the outdated aspects.
One problem associated with this approach is that it may be difficult to integrate the existing locking behavior of legacy applications into a locking behavior of a new application. Applications typically lock data, in some manner, while the data is being modified by a particular user in order to prevent a different user from accidentally modifying an incorrect version of the data. However, a new application which reuses a service of a legacy application may do so only intermittently, and thus locks set by the legacy application may not be sufficient in a temporal sense to provide locking behavior for a process of the new application. Thus, some type of new locking behavior associated with the new application may be desirable. Furthermore, it may be unknown exactly what type of locking behavior is implemented by the legacy application, and thus it may be desirable that any new locking behavior associated with the new application be developed, and be useable, without detailed knowledge of the locking behavior of the legacy application. Moreover, the locking behavior of legacy applications may not implement some aspects of data locking that have been developed in the interim between the development of the legacy application and the development of the new application. Thus, it may be desirable to provide a new locking behavior associated with a new application with an updated or different aspect than was implemented in the locking behavior of the legacy application.